import myRequest from '../../utils/net.js';

Page({

    /**
     * 页面的初始数据
     */
    data: {
        orderNumber: '',
        address: '',
        detailAddress: '',
        cart: {},
        total: 0
    },

    handlePay: function () {
        // 支付操作：1、调用自己的后台接口完成支付；2、调用小程序的API实现付款
        let token = wx.getStorageSync('mytoken');
        myRequest('my/orders/req_unifiedorder', {
            order_number: this.data.orderNumber
        }, 'post', {
            Authorization: token
        }).then(res => {
            // console.log(res)
            // 获取用于微信支付的相关参数
            // let payInfo = res.data.message.pay;
            //调用小程序API实现支付
            // wx.requestPayment({
            //     ...payInfo,
            //     success: () => {
            //         // 这里表示支付成功
            //         wx.showToast({
            //             title: '支付成功'
            //         })
            //         // 删除购物车中已经付款的商品
            //         let mycart = wx.getStorageSync('mycart');
            //         // 处理数据
            //         for (let key in mycart) {
            //             if (mycart[key].checked) {
            //                 delete mycart[key]
            //             }
            //         }
            //         // 保存购物车
            //         wx.wx.setStorageSync('mycart', mycart);
            //         // 返回上一个页面
            //         wx.wx.navigateBack({
            //             delta: 1
            //         });
            //     }
            // })
            //因为取不到res里的参数，这里模拟下
            wx.requestPayment({
                timeStamp: '1234',
                nonceStr: '1234',
                package: '1234',
                signType: 'MD5',
                paySign: '123',
                success(res) {
                    // 这里表示支付失败成功
                    wx.showToast({
                        title: '支付成功'
                    })
                },
                fail(res) {
                    // 这里表示支付失败成功
                    wx.showToast({
                        title: '支付失败'
                    })
                    // 删除购物车中已经付款的商品
                    let mycart = wx.getStorageSync('mycart');
                    // 处理数据
                    for (let key in mycart) {
                        if (mycart[key].checked) {
                            delete mycart[key]
                        }
                    }
                    // 保存购物车
                    wx.setStorageSync('mycart', mycart);
                    // 返回上一个页面
                    wx.navigateBack({
                        delta: 1
                    });
                }
            })
        })
    },

    countTotal: function () {
        // 计算商品总价
        let t = 0;
        let cart = wx.getStorageSync('mycart');
        for (let key in cart) {
            // 其中一件商品信息
            let prod = cart[key];
            if (prod.checked) {
                // 单价 * 数量 再进行累加操作
                t += prod.goods_price * prod.num;
            }
        }
        this.setData({
            total: t
        });
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        console.log(options)
        this.setData({
            orderNumber: options.orderNumber
        });
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        let address = wx.getStorageSync('myAddress');
        let cart = wx.getStorageSync('mycart');
        this.setData({
            address: address,
            cart: cart,
            detailAddress: `${address.provinceName}${address.cityName}${address.countyName}${address.detailInfo}`
        });
        this.countTotal();
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})